package com.ccp.dev.system.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.core.basic.web.query.QueryFilter;
import com.ccp.dev.system.model.UserUnder;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 *下属管理dao
 * @author y
 */
@Mapper
public interface UserUnderDao extends IBaseMapper<UserUnder,String> {
    /**
     * 根据下级用户id删除数据
     * @param userId 用户id
     */
    void delByUnderUserId(String userId);

    /**
     * 根据上级用户id删除数据
     * @param userId 用户id
     */
    void delByUserId(String userId);
    /**
     * 根据用户id 删除当前用户关联信息
     * @param userId 用户id
     */
    void delByUpOrDown(String userId);

    /**
     * 根据用户id 获取下属
     * @param queryFilter 参数
     * @return list
     */
    List<UserUnder> queryUnderByUserId(QueryFilter queryFilter);
    /**
     * 根据用户id 获取下属
     * @param map 参数
     * @return list
     */
    List<UserUnder> queryUnderByUserId(Map map);
    /**
     * 根据用户id 获取上级
     * @param userId 用户id
     * @return list
     */
    List<UserUnder> querySuperiorByUserId(String userId);
    /**
     * 取得我的下属
     * @param userId 用户id
     * @return list
     */
    List<UserUnder> getMyUnderUser(String userId);
}